package edu.seu.mart.web;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import edu.seu.mart.model.Admin;

public class LoginFilter implements Filter {

    @Override
    public void destroy() {

    }

    @Override
    public void doFilter(ServletRequest req, ServletResponse resp,
                         FilterChain chain) throws IOException, ServletException {
        HttpServletRequest hsq = (HttpServletRequest) req;
        String uri = hsq.getRequestURI();

        if (uri.indexOf("admin/login") == -1) {
            Admin u = (Admin) hsq.getSession().getAttribute("admin");
            if (u == null) {
                ((HttpServletResponse) resp).sendRedirect(hsq.getContextPath() + "/admin/login");
            } else {
                chain.doFilter(req, resp);
            }
        } else {
            chain.doFilter(req, resp);
        }
    }

    @Override
    public void init(FilterConfig arg0) throws ServletException {

    }

}
